/****************************************************
	文件：AIBase.cs
	作者：HuskyT
	邮箱：1005240602@qq.com
	日期：2020/5/31 20:4:8
	功能：AI 基类
*****************************************************/

using System.Collections.Generic;

namespace AIModule.Utility.Example
{
    public abstract class AIBase
    {
        /// <summary>
        /// 自身实体
        /// </summary>
        protected EntityBase mSelf;
        /// <summary>
        /// 命令评分
        /// </summary>
        protected List<CommandBase> mCommandList;

        /// <summary>
        /// 选择下一个命令
        /// </summary>
        public abstract CommandBase ChooseNextCommand();
        /// <summary>
        /// 计算攻击的效用分数
        /// </summary>
        protected abstract float AttackScore(EntityBase opponent);
        /// <summary>
        /// 计算使用恢复药剂的效用分数
        /// </summary>
        protected abstract float UseCurativePotionScore();
        /// <summary>
        /// 计算逃跑行为的效用分数
        /// </summary>
        protected abstract float RunawayScore();
        /// <summary>
        /// 计算对手带来的威胁分数
        /// </summary>
        protected abstract float ThreatScore(EntityBase opponent);
    }
}